package com.zzyl.service;

import com.aliyun.iot20180120.models.*;
import com.zzyl.base.PageResponse;
import com.zzyl.dto.DeviceDto;
import com.zzyl.vo.DeviceVo;
import com.zzyl.vo.ProductVo;

import java.util.List;

public interface DeviceService {
    void syncProductList();

    List<ProductVo> allProduct();

    void registerDevice(DeviceDto deviceDto);

    PageResponse pageQueryDevice( Integer pageNum, Integer pageSize, String deviceName,Integer locationType,String productKey);

    DeviceVo QueryDeviceDetail(DeviceDto deviceDto);

    QueryThingModelPublishedResponseBody.QueryThingModelPublishedResponseBodyData QueryThingModelPublished(QueryThingModelPublishedRequest productKey);

    Object queryDevicePropertyStatus(QueryDevicePropertyStatusRequest request);

    void updateDevice(DeviceDto deviceDto);

    void DeleteDevice(DeleteDeviceRequest deviceRequest);

    QueryDeviceServiceDataResponseBody.QueryDeviceServiceDataResponseBodyData pageQueryDeviceServiceData(Long endTime, Long startTime, String iotId, Integer pageSize);
}
